package com.ruoyi.warning.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * <p>
 * 资产表
 * </p>
 *
 * @author chenhc
 * @since 2025-05-14
 */
@Getter
@Setter
@TableName("property")
public class Property implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "property_id", type = IdType.AUTO)
    @Excel(name = "资产id", type = Excel.Type.EXPORT)
    @ApiModelProperty("资产id")
    private Integer propertyId;

    @Excel(name = "名称")
    @ApiModelProperty("名称")
    private String name;

    @Excel(name = "IP")
    @ApiModelProperty("IP")
    private String hostname;

    @Excel(name = "业务分类")
    @ApiModelProperty("业务分类")
    private String businessType;

    @Excel(name = "厂区/机房")
    @ApiModelProperty("厂区/机房")
    private String area;

    @Excel(name = "厂商")
    @ApiModelProperty("厂商")
    private String manufacturer;

    @Excel(name = "型号")
    @ApiModelProperty("型号")
    private String model;

    @Excel(name = "序列号")
    @ApiModelProperty("序列号")
    private String serial;

    @Excel(name = "设备分布位置")
    @ApiModelProperty("设备分布位置")
    private String location;

    @Excel(name = "生产日期")
    @ApiModelProperty("生产日期")
    private String manufactureDate;

    @Excel(name = "端口数")
    @ApiModelProperty("端口数")
    private Integer portsNums;

    @Excel(name = "设备类型")
    @ApiModelProperty("设备类型")
    private String deviceType;

    @Excel(name = "质保到期日期")
    @ApiModelProperty("质保到期日期")
    private String warrantyDate;

    @ApiModelProperty("系统类型0-Linux 1-Windows 2-L虚机 3-W虚机")
    private String systemType;

    @ApiModelProperty("设备状态")
    @TableField("`status`")
    private Integer status;
}
